JSquash: Source Code Analysis of Embedded Database Applications for Determining Sql Statements

نویسندگان

  • Dietmar Seipel
  • Andreas M. Boehm
  • Markus Fröhlich
چکیده

In this paper, we analyse Java source code of embedded database applications by means of static code analysis. If the underlying database schema is changed due to refactoring or database tuning, then the SQL statements in the embedding Java program need to be adapted correspondingly. This should be done mostly automatically, since changing software manually is error–prone and time consuming. For determining the SQL statements that access the database, we can either look at the database logfile, an audit file, or at the Java source code itself. Here, we show how to statically determine even the strings for dynamically built SQL statements directly from the Java source code. We do this without using a debugger or a virtual machine technique; instead, we trace the values of variables that contribute to a query string backwards to predict the values as precisely as possible. We use PROLOG’s declarative features and its backtracking mechanism for code analysis, refactoring, and tuning.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Agent Systems in Software Engineering

During the last decade the continuous growth of the Web resulted in a significant development shift from simple types of software applications to distributed multi-tier web-based applications. In general, distributed systems are by nature more complex than centralized systems. As a result, the software engineering tasks of these systems are also complicated. Unlike traditional software applicat...

متن کامل

Source Code Generator Based on a Proprietary Specification Language

An application generator has resulted from the authors' efforts to improve the development of interactive database applications. The developed tool is based on a meta-base. The meta-base comprises an extended data model, the programming language description and some additional information to support the generation process. The procedures described in a proprietary specification language serve t...

متن کامل

SQLPrevent: Effective Dynamic Detection and Prevention of SQL Injection Attacks Without Access to the Application Source Code

This paper presents an effective approach for detecting and preventing known as well as novel SQL injection attacks. Unlike existing approaches, ours (1) is resistant to evasion techniques, such as hexadecimal encoding or inline comment, (2) does not require analysis or modification of the application source code, (3) does not need training traces, (4) does not require modification of the runti...

متن کامل

SQLPrevent: Effective dynamic detection and prevention of SQL injection

This paper presents an approach for retrofitting existing web applications with run-time protection against known as well as unseen SQL injection attacks (SQLIAs). This approach (1) is resistant to evasion techniques, such as hexadecimal encoding or inline comment, (2) does not require analysis or modification of the application source code, (3) does not require modification of the runtime envi...

متن کامل

SQL Code Complexity Analysis

Structured Query Language (SQL) is a database computer language designed for managing data in relational database management systems, and originally based upon Relational Algebra. Its scope includes data query and update, schema creation and modification, and data access control. Since 1970 SQL became the most widely used language for relational databases, and based upon the declarative paradig...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009